//class Solution {
//public:
//    vector<vector<int>> levelOrder(TreeNode* root) {
//        vector<vector<int>> v;
//        if (root == nullptr)
//            return v;
//        queue<TreeNode*> q;
//        q.push(root);
//        while (q.size())
//        {
//            vector<int> level;
//            int size = q.size();
//            for (int i = 0;i < size;i++)
//            {
//                auto a = q.front();
//                level.push_back(a->val);
//                q.pop();
//                if (a->left)
//                    q.push(a->left);
//                if (a->right)
//                    q.push(a->right);
//            }
//            v.push_back(level);
//        }
//        return v;
//    }
//};